var reverseWords = function(s) {
  return s.trim().replace(/\s+/g, " ").split(" ").reverse().join(" ");
};

var reverseWords2 = function(s) {
  return s.split(' ').filter( i => i).reverse().join(' ');
}

console.log(reverseWords2("the     sky is blue"));

let str = " 这是    一段文本\t有多个\n空白字符";
let newStr = str.replace(/\s+/g, ' ');
console.log(newStr); // 输出: "这是 一段文本 有多个 空白字符"
